/***	
* date：2018.03.06
* name: 产品详情页-配送地址
* author：hj
* remarks：null
*/
function addressMenuFn(_config){
	for(var i in _config){
		this[i] = _config[i];
	}
	this.arrs   =[];
	this.isShow = 0;
	this.init();
}
addressMenuFn.prototype = {
	init:function(){
		var _self = this;
		_self.addressTitleEvent();
		// 获取省、市、区的json
		_self.getData();
		// 省、市、区按钮事件
		_self.tabAEvent();
		_self.tabBEvent();
	},
	// 地址菜单，显示隐藏
	addressTitleEvent:function(){
		var _self = this;
		_self.addressTitleId.on('click',function(){
			if(_self.isShow == 0){
				_self.addressMenuListId.show();
				_self.isShow = 1;
			} else {
				_self.addressMenuListId.hide();
				_self.isShow = 0;
			}
		});
	},
	getData:function(){
		var _self = this;
		// 获取省的json
		ajaxFn(APILIST.province,function(_d){
			_self.createDom(_d.province,_self.provinceId);
			_self.provinceEvent();
		});
		// 获取市的json
		ajaxFn(APILIST.city,function(_d){
			_self.createDom(_d.city,_self.cityId);
			_self.cityEvent();
		});
		// 获取区的json
		ajaxFn(APILIST.area,function(_d){
			_self.createDom(_d.area,_self.areaId);
			_self.areaEvent();
		});
	},
	// 公共的创建DOM方法
	createDom:function(_data,_wrap){
		var _self = this;
		for(var i=0;i<_data.length;i++){
			$('<li/>',{})
				.html( _data[i].name )
				.appendTo( _wrap );
		}
	},
	// 省的tab菜单
	provinceEvent:function(){
		var _self = this;
		_self.provinceId.children().on('click',function(){
			var _html = $(this).html();
			// 点击隐藏省菜单，显示城市菜单
			_self.provinceId.hide();
			_self.cityId.show();
			// 去掉省tab按钮黄边，增加城市tab按钮黄边
			_self.tabA
				.removeClass('yellow')
				.html( _html );
			_self.tabB
				.addClass('yellow')
				.show();
			// 省、市、区重新选择，数组变化
			_self.arrs.splice(0,3);
			// 把省名存入数组
			_self.addressArray( _html );
			// 点击省名后，市tab按钮提示
			_self.tabB.html('请选择城市');
		});
	},
	// 市的tab菜单
	cityEvent:function(){
		var _self = this;
		_self.cityId.children().on('click',function(){
			var _html = $(this).html();
			_self.cityId.hide();
			_self.areaId.show();
			
			_self.tabB
				.removeClass('yellow')
				.html( _html );
			_self.tabC
				.addClass('yellow')
				.show();

			// 市、区重新选择，数组变化
			_self.arrs.splice(1,2 );
			// 把市名存入数组
			_self.addressArray( _html );
			// 点击市名后，区tab按钮提示
			_self.tabC.html('请选择区县');
		});
	},
	// 区的tab菜单
	areaEvent:function(){
		var _self = this;
		_self.areaId.children().on('click',function(){
			var _html = $(this).html();
			_self.addressMenuListId.hide();
			_self.tabC.html( _html );
			// 区重新选择，数组变化
			_self.arrs.splice(2,1);
			// 把区名存入数组
			_self.addressArray( _html );
			_self.isShow = 0;	
		})
	},
	// 操作省、市、区的数组,本模块的公共方法
	addressArray:function(_n){
		var _self = this;
		if(_self.arrs.length<3){
		 _self.arrs.push(_n);
		 }
		 // 把配送菜单的title清空
		 _self.addressTitleId.html('');
		 for(var i=0;i<_self.arrs.length;i++){
		 	$('<li/>',{})
		 		.html( _self.arrs[i])
		 		.appendTo( _self.addressTitleId );
		 }

	},
	// 点击省tab按钮事件
	tabAEvent:function(){
		var _self = this;
		_self.tabA.on('click',function(){
			// 点击省tab按钮，菜单显示
			_self.provinceId.show();
			_self.cityId.hide();
			_self.areaId.hide();
			// 点击省tab按钮，黄边显示
			$(this).addClass('yellow');
			_self.tabB.removeClass('yellow');
			_self.tabC.removeClass('yellow');
			// 点击省tab按钮，市、区按钮隐藏
			_self.tabB.hide();
			_self.tabC.hide();

			// 市、区重新选择，数组变化
			_self.arrs.splice(1,2 );
		});
	},
	// 点击市tab按钮事件
	tabBEvent:function(){
		var _self = this;
		_self.tabB.on('click',function(){
			// 点击市tab按钮，菜单显示
			_self.provinceId.hide();
			_self.cityId.show();
			_self.areaId.hide();
			// 点击市tab按钮，黄边显示
			$(this).addClass('yellow');
			_self.tabA.removeClass('yellow');
			_self.tabC.removeClass('yellow');
			// 点击市tab按钮，区按钮隐藏
			_self.tabC.hide();
			// 市、区重新选择，数组变化
			_self.arrs.splice(1,2 );
		});
	}
}


new addressMenuFn({
	addressTitleId:$('#addressTitleId'),
	addressMenuListId:$('#addressMenuListId'),

	provinceId:$('#provinceId'),
	cityId:$('#cityId'),
	areaId:$('#areaId'),

	tabA:$('#tabA'),
	tabB:$('#tabB'),
	tabC:$('#tabC'),

});